package ufc.quixada.petti.model;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "atividade")
@SequenceGenerator(name = "idAtividade", sequenceName = "idAtividade", allocationSize = 1)
public class Atividade {

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idAtividade")
	private Long idAtividade;
	private String nome;
	private int numeroVagas;
	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "evento_tem_atividades", joinColumns = @JoinColumn (name = "idAtividade" ), inverseJoinColumns = @JoinColumn(name = "idEvento"))
	private List<Evento> eventos;
	
	public Atividade() {

	}

	public Atividade(String nome) {
		super();
		this.nome = nome;
	}

	public List<Evento> getEventos() {
		return eventos;
	}

	public void setEventos(List<Evento> eventos) {
		this.eventos = eventos;
	}

	public Long getIdAtividade() {
		return idAtividade;
	}

	public void setIdAtividade(Long idAtividade) {
		this.idAtividade = idAtividade;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getNumeroVagas() {
		return numeroVagas;
	}

	public void setNumeroVagas(int numeroVagas) {
		this.numeroVagas = numeroVagas;
	}

}
